home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir37 / ushell.zip / SH.MAN < prev   
Text File  |  1990-02-19  |  48KB  |  1,321 lines

  1.  
  2.  
  3.  
  4.                                                            SH(1L)
  5.  
  6.  
  7.  
  8. NAME
  9.      sh, rsh - shell, the standard/restricted command programming
  10.      language
  11.  
  12. SYNOPSIS
  13.      sh [ -acefhiknmrstuvx ] [ args ]
  14.      rsh [ -acefhiknmrstuvx ] [ args ]
  15.  
  16. DESCRIPTION
  17.      _S_h is a command programming language that executes commands
  18.      read from a terminal or a file.  _R_s_h is a restricted version
  19.      of the standard command interpreter _s_h; it is used to set up
  20.      login names and execution environments whose capabilities
  21.      are more controlled than those of the standard shell.  See
  22.      _I_n_v_o_c_a_t_i_o_n below for the meaning of arguments to the shell.
  23.  
  24.      Definitions
  25.      A _b_l_a_n_k is a tab or a space.  A _n_a_m_e is a sequence of
  26.      letters, digits, or underscores beginning with a letter or
  27.      underscore.  A _p_a_r_a_m_e_t_e_r is a name, a digit, or any of the
  28.      characters *, @, #, ?, -, $, and !.
  29.  
  30.      Commands
  31.      A _s_i_m_p_l_e-_c_o_m_m_a_n_d is a sequence of non-blank _w_o_r_d_s separated
  32.      by _b_l_a_n_k_s.  The first word specifies the name of the command
  33.      to be executed.  Except as specified below, the remaining
  34.      words are passed as arguments to the invoked command.  The
  35.      command name is passed as argument 0 (see _e_x_e_c(2)).  The
  36.      _v_a_l_u_e of a simple-command is its exit status if it ter-
  37.      minates normally, or (octal) 200+_s_t_a_t_u_s if it terminates
  38.      abnormally (see _s_i_g_n_a_l(2) for a list of status values).
  39.  
  40.      A _p_i_p_e_l_i_n_e is a sequence of one or more _c_o_m_m_a_n_d_s separated
  41.      by | (or, for historical compatibility, by ^).  The standard
  42.      output of each command but the last is connected by a
  43.      _p_i_p_e(2) to the standard input of the next command.  Each
  44.      command is run as a separate process; the shell waits for
  45.      the last command to terminate.  The exit status of a pipe-
  46.      line is the exit status of the last command.
  47.  
  48.      A _l_i_s_t is a sequence of one or more pipelines separated by
  49.      ;, &&, or ||, and optionally terminated by ;.  Of these
  50.      three symbols, ; has a lower precedence than that of && and
  51.      ||.  The symbols && and || also have equal precedence.  A
  52.      semicolon (;) causes sequential execution of the preceding
  53.      pipeline.  The symbol && (||) causes the _l_i_s_t following it
  54.      to be executed only if the preceding pipeline returns a zero
  55.      (non-zero) exit status.  An arbitrary number of new-lines
  56.      may appear in a _l_i_s_t, instead of semicolons, to delimit com-
  57.      mands.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                 1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SH(1L)
  71.  
  72.  
  73.  
  74.      A _c_o_m_m_a_n_d is either a simple-command or one of the follow-
  75.      ing.  Unless otherwise stated, the value returned by a com-
  76.      mand is that of the last simple-command executed in the com-
  77.      mand.
  78.  
  79.      for _n_a_m_e [ in _w_o_r_d ... ] do _l_i_s_t done
  80.           Each time a for command is executed, _n_a_m_e is set to the
  81.           next _w_o_r_d taken from the in _w_o_r_d list.  If in _w_o_r_d ...
  82.           is omitted, then the for command executes the do _l_i_s_t
  83.           once for each positional parameter that is set (see
  84.           _P_a_r_a_m_e_t_e_r _S_u_b_s_t_i_t_u_t_i_o_n below).  Execution ends when
  85.           there are no more words in the list.
  86.      case _w_o_r_d in [ _p_a_t_t_e_r_n [ | _p_a_t_t_e_r_n ] ... ) _l_i_s_t ;; ] ... esac
  87.           A case command executes the _l_i_s_t associated with the
  88.           first _p_a_t_t_e_r_n that matches _w_o_r_d.  The form of the pat-
  89.           terns is the same as that used for file-name generation
  90.           (see _F_i_l_e _N_a_m_e _G_e_n_e_r_a_t_i_o_n) except that a slash, a lead-
  91.           ing dot, or a dot immediately following a slash need
  92.           not be matched explicitly, and the match is case sensi-
  93.           tive.
  94.      if _l_i_s_t then _l_i_s_t [ elif _l_i_s_t then _l_i_s_t ] ... [ else _l_i_s_t ] fi
  95.           The _l_i_s_t following if is executed and, if it returns a
  96.           zero exit status, the _l_i_s_t following the first then is
  97.           executed.  Otherwise, the _l_i_s_t following elif is exe-
  98.           cuted and, if its value is zero, the _l_i_s_t following the
  99.           next then is executed.  Failing that, the else _l_i_s_t is
  100.           executed.  If no else _l_i_s_t or then _l_i_s_t is executed,
  101.           then the if command returns a zero exit status.
  102.      while _l_i_s_t do _l_i_s_t done
  103.           A while command repeatedly executes the while _l_i_s_t and,
  104.           if the exit status of the last command in the list is
  105.           zero, executes the do _l_i_s_t; otherwise the loop ter-
  106.           minates.  If no commands in the do _l_i_s_t are executed,
  107.           then the while command returns a zero exit status;
  108.           until may be used in place of while to negate the loop
  109.           termination test.
  110.      (_l_i_s_t)
  111.           Execute _l_i_s_t in a sub-shell.  The shell creates a new
  112.           environment in which to execute the _l_i_s_t, but does not
  113.           fork a sub-shell as a Unix system would.  The original
  114.           environment is restored on completion.
  115.      {_l_i_s_t;}
  116.           _l_i_s_t is simply executed.
  117.      _n_a_m_e () {_l_i_s_t;}
  118.           Define a function which is referenced by _n_a_m_e.  The
  119.           body of the function is the _l_i_s_t of commands between {
  120.           and }.  Execution of functions is described below (see
  121.           _E_x_e_c_u_t_i_o_n).
  122.  
  123.      The following words are only recognized as the first word of
  124.      a command and when not quoted:
  125.  
  126.  
  127.  
  128.  
  129. 2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                                            SH(1L)
  137.  
  138.  
  139.  
  140.      if then else elif fi case esac for while until do done { }
  141.  
  142.      Comments
  143.      A word beginning with # causes that word and all the follow-
  144.      ing characters up to a new-line to be ignored.
  145.  
  146.      Command Substitution
  147.      The standard output from a command enclosed in a pair of
  148.      grave accents (``) may be used as part or all of a word;
  149.      trailing new-lines are removed.
  150.  
  151.      Parameter Substitution
  152.      The character $ is used to introduce substitutable _p_a_r_a_m_e_-
  153.      _t_e_r_s.  There are two types of parameters, positional and
  154.      keyword.  If _p_a_r_a_m_e_t_e_r is a digit, it is a positional param-
  155.      eter.  Positional parameters may be assigned values by set.
  156.      Keyword parameters (also known as variables) may be assigned
  157.      values by writing:
  158.  
  159.           _n_a_m_e = _v_a_l_u_e [ _n_a_m_e = _v_a_l_u_e ] ...
  160.  
  161.      Pattern-matching is not performed on _v_a_l_u_e.  There cannot be
  162.      a function and a variable with the same _n_a_m_e.
  163.  
  164.      ${_p_a_r_a_m_e_t_e_r}
  165.           The value, if any, of the parameter is substituted.
  166.           The braces are required only when _p_a_r_a_m_e_t_e_r is followed
  167.           by a letter, digit, or underscore that is not to be
  168.           interpreted as part of its name.  If _p_a_r_a_m_e_t_e_r is * or
  169.           @, all the positional parameters, starting with $1, are
  170.           substituted (separated by spaces).  Parameter $0 is set
  171.           from argument zero when the shell is invoked.
  172.      ${_p_a_r_a_m_e_t_e_r:-_w_o_r_d}
  173.           If _p_a_r_a_m_e_t_e_r is set and is non-null, substitute its
  174.           value; otherwise substitute _w_o_r_d.
  175.      ${_p_a_r_a_m_e_t_e_r:=_w_o_r_d}
  176.           If _p_a_r_a_m_e_t_e_r is not set or is null set it to _w_o_r_d; the
  177.           value of the parameter is substituted.  Positional
  178.           parameters may not be assigned to in this way.
  179.      ${_p_a_r_a_m_e_t_e_r:?_w_o_r_d}
  180.           If _p_a_r_a_m_e_t_e_r is set and is non-null, substitute its
  181.           value; otherwise, print _w_o_r_d and exit from the shell.
  182.           If _w_o_r_d is omitted, the message ``parameter null or not
  183.           set'' is printed.
  184.      ${_p_a_r_a_m_e_t_e_r:+_w_o_r_d}
  185.           If _p_a_r_a_m_e_t_e_r is set and is non-null, substitute _w_o_r_d;
  186.           otherwise substitute nothing.
  187.  
  188.      In the above, _w_o_r_d is not evaluated unless it is to be used
  189.      as the substituted string, so that, in the following exam-
  190.      ple, pwd is executed only if d is not set or is null:
  191.  
  192.  
  193.  
  194.  
  195.                                                                 3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SH(1L)
  203.  
  204.  
  205.  
  206.           echo ${d:-`pwd`}
  207.  
  208.      If the colon (:) is omitted from the above expressions, the
  209.      shell only checks whether _p_a_r_a_m_e_t_e_r is set or not (_I_t _i_s _n_o_t
  210.      _c_l_e_a_r _w_h_a_t _t_h_i_s _m_e_a_n_s).
  211.  
  212.      The following parameters are automatically set by the shell:
  213.           # The number of positional parameters in decimal.
  214.           - Flags supplied to the shell on invocation or by the
  215.             set command.
  216.           ? The decimal value returned by the last synchronously
  217.             executed command.
  218.           $ The process number of this shell.
  219.           ! The process number of the last background command
  220.             invoked.
  221.           ~ The shell reserves all variables beginning with a ~
  222.             for its own internal use and these variables cannot
  223.             be accessed by the user.
  224.  
  225.      The following parameters are used by the shell:
  226.           CDPATH
  227.             The search path for the _c_d command.  (Note that
  228.             becuase a colon is used by MSDOS to indicate a drive,
  229.             a semi-colon is used to separate the path names
  230.             instead of a colon - this implies that the CDPATH
  231.             variable must be set using single or double quotes to
  232.             surround the value).
  233.           EXTENDED_LINE
  234.             This parameter defines a file containing a list of
  235.             command which can accept an Extended Command Line
  236.             using the indirect command file character @.  When a
  237.             command which can process the Extended Command Line
  238.             finds a parameter starting with a @ in the command
  239.             list, treats the rest of the parameter as a file and
  240.             reads the parameters from that file.  Examples of
  241.             this functionality include the Standard Linker and
  242.             Librarian.  The filename defined by EXTENDED_LINE
  243.             contains a list of command (including the .exe or
  244.             .com extension) separated by a newlines.   If the
  245.             command is in upper case, the file name on the com-
  246.             mand line is set up with backslashes as the directory
  247.             separator.  Otherwise, slashes (Unix style) are used.
  248.             This functionality allows the user to get round the
  249.             127 byte command line length limit of MSDOS.
  250.           HISTFILE
  251.             The file where command history is saved across login
  252.             sessions.  The default value is $HOME/history.sh.
  253.           HOME
  254.             The default argument (home directory) for the _c_d com-
  255.             mand.
  256.           IFS
  257.             Internal field separators, normally space, tab, and
  258.  
  259.  
  260.  
  261. 4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                                            SH(1L)
  269.  
  270.  
  271.  
  272.             new-line.
  273.           MAIL
  274.             If this parameter is set to the name of a mail file
  275.             _a_n_d the MAILPATH parameter is not set, the shell
  276.             informs the user of the arrival of mail in the speci-
  277.             fied file.
  278.           MAILCHECK
  279.             This parameter specifies how often (in seconds) the
  280.             shell will check for the arrival of mail in the files
  281.             specified by the MAILPATH or MAIL parameters.  If set
  282.             to 0, the shell will check before each prompt.
  283.           MAILPATH
  284.             A colon (:) separated list of file names.  If this
  285.             parameter is set, the shell informs the user of the
  286.             arrival of mail in any of the specified files. Each
  287.             file name can be followed by % and a message that
  288.             will be printed when the modification time changes.
  289.             The default message is "_y_o_u _h_a_v_e _m_a_i_l".
  290.           PATH
  291.             The search path for commands (see _E_x_e_c_u_t_i_o_n below).
  292.             The user may not change PATH if executing under _r_s_h.
  293.             (Note that because a colon is used by MSDOS to indi-
  294.             cate a drive, a semi-colon is used to separate the
  295.             path names instead of a colon - this implies that the
  296.             PATH variable must be set using single or double
  297.             quotes to surround the value).
  298.           PS1
  299.             Primary prompt string, by default ``$ ''.
  300.           PS2
  301.             Secondary prompt string, by default ``> ''.
  302.           SHELL
  303.             When the shell is invoked, it scans the environment
  304.             (see _E_n_v_i_r_o_n_m_e_n_t below) for this name.  If it is
  305.             found and there is an 'r' in the file name part of
  306.             its value, the shell becomes a restricted shell.
  307.           TMP
  308.             The location of temporary files created by the shell.
  309.      The shell gives default values to PATH, PS1, PS2, SHELL,
  310.      HOME and IFS.
  311.      Blank Interpretation
  312.      After parameter and command substitution, the results of
  313.      substitution are scanned for internal field separator char-
  314.      acters (those found in IFS) and split into distinct argu-
  315.      ments where such characters are found.  Explicit null argu-
  316.      ments ("" or '') are retained.  Implicit null arguments
  317.      (those resulting from _p_a_r_a_m_e_t_e_r_s that have no values) are
  318.      removed.
  319.      File Name Generation
  320.      Following substitution, each command _w_o_r_d is scanned for the
  321.      characters *, ? and [.  If one of these characters appears
  322.      the word is regarded as a _p_a_t_t_e_r_n.  The word is replaced
  323.      with alphabetically sorted file names that match the
  324.  
  325.  
  326.  
  327.                                                                 5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. SH(1L)
  335.  
  336.  
  337.  
  338.      pattern.  If no file name is found that matches the pattern,
  339.      the word is left unchanged.  The character . at the start of
  340.      a file name or immediately following a /, as well as the
  341.      character / itself, must be matched explicitly.  When match-
  342.      ing patterns for file names, the shell ignores the case of
  343.      the pattern and the file directory entries.  Generated file
  344.      names are always in lower case.
  345.           * Matches any string, including the null string.
  346.           ? Matches any single character.
  347.           [ ... ]
  348.             Matches any one of the enclosed characters.  A pair
  349.             of characters separated by - matches any character
  350.             lexically between the pair, inclusive.  If the first
  351.             character following the opening ``['' is a ``!'' any
  352.             character not enclosed is matched.
  353.  
  354.      Quoting
  355.      The following characters have a special meaning to the shell
  356.      and cause termination of a word unless quoted:
  357.  
  358.           ;  &  (  )  |  ^  <  >  new-line  space  tab
  359.  
  360.      A character may be _q_u_o_t_e_d (i.e., made to stand for itself)
  361.      by preceding it with a \.  The pair \new-line is ignored.
  362.      All characters enclosed between a pair of single quote marks
  363.      (''), except a single quote, are quoted.  Inside double
  364.      quote marks (""), parameter and command substitution occurs
  365.      and \ quotes the characters \, `, ", and $. "$*" is
  366.      equivalent to "$1 $2 ...", whereas "$@" is equivalent to
  367.      "$1" "$2" ....
  368.  
  369.      Prompting
  370.      When used interactively, the shell prompts with the value of
  371.      PS1 before reading a command.  If at any time a new-line is
  372.      typed and further input is needed to complete a command, the
  373.      secondary prompt (i.e., the value of PS2) is issued.
  374.  
  375.      Many people like to have the shell provide them with useful
  376.      information in their prompt.  To accommodate this, the shell
  377.      recognises special sequences of characters in the values of
  378.      PS1 and PS2, and substitutes the appropriate information for
  379.      them.  The special sequences and what they signify are:
  380.  
  381.           %dPlace the current date, in the form DAY DD-MM-YY into
  382.             the prompt.
  383.  
  384.           %ePlace the current event number (as defined by the
  385.             history command) into the prompt.  If history evalua-
  386.             tion has been turned off (via history -d), no number
  387.             will be substituted in (i.e. the %e will be removed).
  388.  
  389.           %nPlace the current working drive into the prompt.
  390.  
  391.  
  392.  
  393. 6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                                            SH(1L)
  401.  
  402.  
  403.  
  404.           %pPlace the current working directory into the prompt.
  405.  
  406.           %tPlace the current time of day, in the form HH:MM into
  407.             the prompt.  The time is on a 24 hour clock, i.e.
  408.             1:30 in the afternoon will be 13:30.
  409.  
  410.           %vPlace the MSDOS version number, in the form  MSDOS
  411.             MM:MM into the prompt.
  412.  
  413.           %%Place the character % into the prompt.
  414.  
  415.           \xxx
  416.             Place the character _\_x_x_x into the prompt.  The pro-
  417.             cessing of escape sequences is the same as that for
  418.             echo.
  419.  
  420.      Some of these facilities are of more use than others.
  421.  
  422.      Input/Output
  423.      Before a command is executed, its input and output may be
  424.      redirected using a special notation interpreted by the
  425.      shell.  The following may appear anywhere in a simple-
  426.      command or may precede or follow a _c_o_m_m_a_n_d and are _n_o_t
  427.      passed on to the invoked command; substitution occurs before
  428.      _w_o_r_d or _d_i_g_i_t is used:
  429.  
  430.      <word         Use file _w_o_r_d as standard input (file descrip-
  431.                    tor 0).
  432.      >word         Use file _w_o_r_d as standard output (file
  433.                    descriptor 1).  If the file does not exist it
  434.                    is created; otherwise, it is truncated to zero
  435.                    length.
  436.      >>word        Use file _w_o_r_d as standard output.  If the file
  437.                    exists output is appended to it (by first
  438.                    seeking to the end-of-file); otherwise, the
  439.                    file is created.
  440.      <<[-]word     The shell input is read up to a line that is
  441.                    the same as _w_o_r_d, or to an end-of-file.  The
  442.                    resulting document becomes the standard input.
  443.                    If any character of _w_o_r_d is quoted, no
  444.                    interpretation is placed upon the characters
  445.                    of the document; otherwise, parameter and com-
  446.                    mand substitution occurs, (unescaped) \new-
  447.                    line is ignored, and \ must be used to quote
  448.                    the characters \, $, `, and the first charac-
  449.                    ter of _w_o_r_d.  If - is appended to <<, all
  450.                    leading tabs are stripped from _w_o_r_d and from
  451.                    the document.
  452.      <&digit       Use the file associated with file descriptor
  453.                    _d_i_g_i_t as standard input.  Similarly for the
  454.                    standard output using >&digit.
  455.      <&-           The standard input is closed.  Similarly for
  456.  
  457.  
  458.  
  459.                                                                 7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. SH(1L)
  467.  
  468.  
  469.  
  470.                    the standard output using >&-.
  471.  
  472.      If any of the above is preceded by a digit, the file
  473.      descriptor which will be associated with the file is that
  474.      specified by the digit (instead of the default 0 or 1).  For
  475.      example:
  476.  
  477.           ... 2>&1
  478.  
  479.      associates file descriptor 2 with the file currently associ-
  480.      ated with file descriptor 1.
  481.  
  482.      The order in which redirections are specified is signifi-
  483.      cant.  The shell evaluates redirections left-to-right.  For
  484.      example:
  485.  
  486.           ... 1>_x_x_x 2>&1
  487.  
  488.      first associates file descriptor 1 with file _x_x_x.  It asso-
  489.      ciates file descriptor 2 with the file associated with file
  490.      descriptor 1 (i.e. _x_x_x).  If the order of redirections were
  491.      reversed, file descriptor 2 would be associated with the
  492.      terminal (assuming file descriptor 1 had been) and file
  493.      descriptor 1 would be associated with file _x_x_x .
  494.  
  495.      The environment for the execution of a command contains the
  496.      file descriptors of the invoking shell as modified by
  497.      input/output specifications.
  498.  
  499.      Redirection of output is not allowed in the restricted
  500.      shell.
  501.  
  502.      Environment
  503.      The _e_n_v_i_r_o_n_m_e_n_t (see _e_n_v_i_r_o_n(5)) is a list of name-value
  504.      pairs that is passed to an executed program in the same way
  505.      as a normal argument list.  The shell interacts with the
  506.      environment in several ways.  On invocation, the shell scans
  507.      the environment and creates a parameter for each name found,
  508.      giving it the corresponding value.  If the user modifies the
  509.      value of any of these parameters or creates new parameters,
  510.      none of these affects the environment unless the export com-
  511.      mand is used to bind the shell's parameter to the environ-
  512.      ment (see also set -a).  A parameter may be removed from the
  513.      environment with the unset command.  The environment seen by
  514.      any executed command is thus composed of any unmodified
  515.      name-value pairs originally inherited by the shell, minus
  516.      any pairs removed by unset, plus any modifications or addi-
  517.      tions, all of which must be noted in export commands.
  518.  
  519.      The environment for any _s_i_m_p_l_e-_c_o_m_m_a_n_d may be augmented by
  520.      prefixing it with one or more assignments to parameters.
  521.      Thus:
  522.  
  523.  
  524.  
  525. 8
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                                            SH(1L)
  533.  
  534.  
  535.  
  536.           TERM=450 cmd args             and
  537.           (export TERM; TERM=450; cmd args)
  538.  
  539.      are equivalent (as far as the execution of _c_m_d is con-
  540.      cerned).
  541.  
  542.      If the -k flag is set, _a_l_l keyword arguments are placed in
  543.      the environment, even if they occur after the command name.
  544.      The following first prints a=b c and c:
  545.  
  546.           echo a=b c
  547.           set -k
  548.           echo a=b c
  549.  
  550.      Signals
  551.      The INTERRUPT and QUIT signals for an invoked command are
  552.      ignored if the command is followed by &; otherwise signals
  553.      have the values inherited by the shell from its parent, with
  554.      the exception of signal 11 (but see also the trap command
  555.      below).
  556.  
  557.      History
  558.      When reading input from an interactive terminal, a ``!'' at
  559.      the start of a line signals to the shell that it should
  560.      attempt to perform a history subsitution.  A history subsi-
  561.      tution is a short-hand method which allows the user to
  562.      recall a previous command for execution or editing.  The
  563.      recalled command is placed in the command line for editing
  564.      or passing to the rest of the shell for normal processing.
  565.      A history substitution takes the form:
  566.  
  567.           ! [ _s_t_r | _n_u_m ] _t_e_r_m_i_n_a_t_o_r
  568.  
  569.      !_n_u_m will place the history command with the specified
  570.      number in the command line.  !_s_t_r will find the most recent
  571.      command line that started with the characters in _s_t_r.
  572.  
  573.      The _t_e_r_m_i_n_a_t_o_r determines what action is performed after the
  574.      history line has been found.  If the original history com-
  575.      mand is entered using the <return> key, the new command line
  576.      is passed directly to the shell.  If the <end> key is
  577.      pressed, the new command line can be edited in the manner
  578.      described below.
  579.  
  580.      Command Line Editing
  581.      When reading input from an interactive terminal, certain
  582.      keystrokes allow the current input line to be edited.  The
  583.      following keystrokes are available:
  584.  
  585.      Cursor Right
  586.           Move the cursor right one character
  587.  
  588.  
  589.  
  590.  
  591.                                                                 9
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. SH(1L)
  599.  
  600.  
  601.  
  602.      Control-Cursor Right
  603.           Move the cursor right one word
  604.  
  605.      Cursor Left
  606.           Move the cursor left one character
  607.  
  608.      Control-Cursor Left
  609.           Move the cursor left one word
  610.  
  611.      Cursor Up
  612.           Get the previous command from the history file
  613.  
  614.      Cursor Down
  615.           Get the next command from the history file
  616.  
  617.      Insert
  618.           Toggle insert/overwrite mode
  619.  
  620.      Delete
  621.           Delete the current character
  622.  
  623.      Home Move the cursor to the start of the command
  624.  
  625.      End  Move the cursor to the end of the command, unless the
  626.           first character of the command is a !, in which case
  627.           the appropriate history search is done.
  628.  
  629.      Control-End
  630.           Delete to the end of the line
  631.  
  632.      Page-Up
  633.           Search backwards from the current history command for
  634.           the next match against the last history request.  This
  635.           command can only be used after End has been used to
  636.           select a history line.
  637.  
  638.      Page-Down
  639.           Search forewards from the current history command for
  640.           the next match against the last history request.  This
  641.           command can only be used after End has been used to
  642.           select a history line.
  643.  
  644.      Backspace
  645.           Move the cursor back one character, erasing the current
  646.           character.
  647.  
  648.      Return
  649.           Execute the command line, unless the first character of
  650.           the command is a !, in which case the appropriate his-
  651.           tory processing is done.
  652.  
  653.  
  654.  
  655.  
  656.  
  657. 10
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                                            SH(1L)
  665.  
  666.  
  667.  
  668.      Execution
  669.      Each time a command is executed, the above substitutions are
  670.      carried out.  If the command name matches one of the _S_p_e_c_i_a_l
  671.      _C_o_m_m_a_n_d_s listed below, it is executed in the shell process.
  672.      If the command name does not match a _S_p_e_c_i_a_l _C_o_m_m_a_n_d, but
  673.      matches the name of a defined function, the function is exe-
  674.      cuted in the shell process (note how this differs from the
  675.      execution of shell procedures).  The positional parameters
  676.      $1, $2, ....  are set to the arguments of the function.  If
  677.      the command name matches neither a _S_p_e_c_i_a_l _C_o_m_m_a_n_d nor the
  678.      name of a defined function, a new process is created and an
  679.      attempt is made to execute the command via _e_x_e_c(2).
  680.  
  681.      The shell parameter PATH defines the search path for the
  682.      directory containing the command.  Alternative directory
  683.      names are separated by a semi-colon (;).  The default path
  684.      is ;c:/bin;c:/usr/bin (specifying the current directory,
  685.      c:/bin, and c:/usr/bin, in that order).  Note that the
  686.      current directory is specified by a null path name, which
  687.      can appear immediately after the equal sign or between the
  688.      semi-colon delimiters anywhere else in the path list.  If
  689.      the command name contains a / or starts with x: (where x is
  690.      a drive letter) the search path is not used; such commands
  691.      will not be executed by the restricted shell.  Otherwise,
  692.      each directory in the path is searched for an executable
  693.      file.
  694.  
  695.      If the file does not have a .com or .exe extension, it is
  696.      opened and the first 5 characters are read.  If the first 5
  697.      characters are the string #!sh\n it is assumed to be a file
  698.      containing shell commands.  Note that the shell will check
  699.      the file and if that file does not exist or is not a script,
  700.      it will try the file with an extension of .sh.  If a .sh
  701.      file is found, that will be processed.  A sub-shell is
  702.      spawned to read it.  A parenthesized command is also exe-
  703.      cuted in a sub-shell.
  704.  
  705.      Special Commands
  706.      Input/output redirection is permitted for these commands.
  707.      File descriptor 1 is the default output location.
  708.  
  709.      :    No effect; the command does nothing.  A zero exit code
  710.           is returned.
  711.      _l_e_t_t_e_r:
  712.           Select the drive specified by _l_e_t_t_e_r.
  713.      . _f_i_l_e
  714.           Read and execute commands from _f_i_l_e and return.  The
  715.           search path specified by PATH is used to find the
  716.           directory containing _f_i_l_e.
  717.      break [ _n ]
  718.           Exit from the enclosing for or while loop, if any.  If
  719.           _n is specified, break _n levels.
  720.  
  721.  
  722.  
  723.                                                                11
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. SH(1L)
  731.  
  732.  
  733.  
  734.      continue [ _n ]
  735.           Resume the next iteration of the enclosing for or while
  736.           loop.  If _n is specified, resume at the _n-th enclosing
  737.           loop.
  738.      cd [ _a_r_g ]
  739.           Change the current directory to _a_r_g.  The shell parame-
  740.           ter HOME is the default _a_r_g.  The shell parameter
  741.           CDPATH defines the search path for the directory con-
  742.           taining _a_r_g.  Alternative directory names are separated
  743.           by a semi-colon (;).  The default path is <null>
  744.           (specifying the current directory).  Note that the
  745.           current directory is specified by a null path name,
  746.           which can appear immediately after the equal sign or
  747.           between the semi-colon delimiters anywhere else in the
  748.           path list.  If _a_r_g begins with a / or x: (where x is a
  749.           drive letter), the search path is not used.  Otherwise,
  750.           each directory in the path is searched for _a_r_g.  The _c_d
  751.           command may not be executed by _r_s_h.
  752.      echo [ _a_r_g ... ]
  753.           Echo arguments. Echo writes its arguments separated by
  754.           blanks and terminated by a new-line on the standard
  755.           output.  It also understands C-like escape conventions;
  756.           beware of conflicts with the shell's use of \:
  757.           \bbackspace
  758.           \cprint line without new-line
  759.           \fform-feed
  760.           \nnew-line
  761.           \rcarriage return
  762.           \ttab
  763.           \vvertical tab
  764.           \\backslash
  765.           \_nthe 8-bit character whose ASCII code is the 1-, 2- or
  766.             3-digit octal number _n, which must start with a zero.
  767.  
  768.           _E_c_h_o is useful for producing diagnostics in command
  769.           files and for sending known data into a pipe.
  770.  
  771.      eval [ _a_r_g ... ]
  772.           The arguments are read as input to the shell and the
  773.           resulting command(s) executed.
  774.  
  775.      exec [ _a_r_g ... ]
  776.           The command specified by the arguments is executed in
  777.           place of this shell without creating a new process.
  778.           Input/output arguments may appear and, if no other
  779.           arguments are given, cause the shell input/output to be
  780.           modified.
  781.  
  782.      exit [ _n ]
  783.           Causes a shell to exit with the exit status specified
  784.           by _n.  If _n is omitted the exit status is that of the
  785.           last command executed (an end-of-file will also cause
  786.  
  787.  
  788.  
  789. 12
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.                                                            SH(1L)
  797.  
  798.  
  799.  
  800.           the shell to exit.)
  801.  
  802.      export [ _n_a_m_e ... ]
  803.           The given _n_a_m_es are marked for automatic export to the
  804.           _e_n_v_i_r_o_n_m_e_n_t of subsequently-executed commands.  If no
  805.           arguments are given, a list of all names that are
  806.           exported in this shell is printed.  Function names may
  807.           _n_o_t be exported.
  808.  
  809.      getopt _o_p_t_s_t_r_i_n_g _n_a_m_e [ _a_r_g_s ... ]
  810.           Parse command options and write them to standard out-
  811.           put.  Getopt is used to break up options in command
  812.           lines for easy parsing by shell procedures and to check
  813.           for legal options.  _O_p_t_s_t_r_i_n_g is a string of recognized
  814.           option letters (see _g_e_t_o_p_t(3C)); if a letter is fol-
  815.           lowed by a colon, the option is expected to have an
  816.           argument which may or may not be separated from it by
  817.           white space.  The special option -- is used to delimit
  818.           the end of the options.  If it is used explicitly,
  819.           getopt will recognize it; otherwise, getopt will gen-
  820.           erate it; in either case, getopt will place it at the
  821.           end of the options.  Each option is preceded by a - and
  822.           is in its own positional parameter; each option argu-
  823.           ment is also parsed into its own positional parameter.
  824.  
  825.           The following code fragment shows how one might process
  826.           the arguments for a command that can take the options a
  827.           or b, as well as the option o, which requires an argu-
  828.           ment:
  829.  
  830.           set -- `getopt abo: $*`
  831.           if [ $? != 0 ]
  832.           then
  833.                echo $USAGE
  834.                exit 2
  835.           fi
  836.           for i in $*
  837.           do
  838.                case $i in
  839.                -a | -b)  FLAG=$i; shift;;
  840.                -o)       OARG=$2; shift 2;;
  841.                --)       shift; break;;
  842.                esac
  843.           done
  844.  
  845.           This code will accept any of the following as
  846.           equivalent:
  847.  
  848.           cmd -aoarg file file
  849.           cmd -a -o arg file file
  850.           cmd -oarg -a file file
  851.           cmd -a -oarg -- file file
  852.  
  853.  
  854.  
  855.                                                                13
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. SH(1L)
  863.  
  864.  
  865.  
  866.      history [ -dei ]
  867.           The history command, with no arguments, will print all
  868.           the commands that are currently saved in the shell's
  869.           history buffers.  As new commands are executed, and
  870.           space in the buffers runs out, old commands will be
  871.           deleted.  The history commands prints out the stored
  872.           commands with sequence numbers.  Negative numbered com-
  873.           mands, through command number zero, are commands that
  874.           were retrieved from the saved history file.  Commands
  875.           starting at one were entered during the current login
  876.           session.  If a saved command contains embedded new-
  877.           lines, these will be printed out as the sequence \n, so
  878.           that individual command stay on one line.
  879.  
  880.           The arguments changes the way the shell processes his-
  881.           tory information as follows:
  882.  
  883.           -dDisable the saving of commands in the history file.
  884.  
  885.           -eEnable the saving of commands in the history file.
  886.  
  887.           -iInitialise the history file.
  888.  
  889.      msdos [ _n_a_m_e ... ]
  890.           The given _n_a_m_es are marked _m_s_d_o_s format and if the -m
  891.           flag is set, the values of the these _n_a_m_es are exported
  892.           to child processes with the any slashes in the value
  893.           replaced by backslashes.
  894.  
  895.      pwd  Print the current working directory.
  896.  
  897.      read [ _n_a_m_e ... ]
  898.           One line is read from the standard input and the first
  899.           word is assigned to the first _n_a_m_e, the second word to
  900.           the second _n_a_m_e, etc., with leftover words assigned to
  901.           the last _n_a_m_e.  The return code is 0 unless an end-of-
  902.           file is encountered.
  903.  
  904.      readonly [ _n_a_m_e ... ]
  905.           The given _n_a_m_es are marked _r_e_a_d_o_n_l_y and the values of
  906.           the these _n_a_m_es may not be changed by subsequent
  907.           assignment.  If no arguments are given, a list of all
  908.           _r_e_a_d_o_n_l_y names is printed.
  909.  
  910.      return [ _n ]
  911.           Causes a function to exit with the return value speci-
  912.           fied by _n.  If _n is omitted, the return status is that
  913.           of the last command executed.
  914.  
  915.      set [ --aefkmntuvx [ _a_r_g ... ] ]
  916.  
  917.           -aMark variables which are modified or created for
  918.  
  919.  
  920.  
  921. 14
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                                            SH(1L)
  929.  
  930.  
  931.  
  932.             export.
  933.  
  934.           -eExit immediately if a command exits with a non-zero
  935.             exit status.
  936.  
  937.           -fDisable file name generation
  938.  
  939.           -kAll keyword arguments are placed in the environment
  940.             for a command, not just those that precede the com-
  941.             mand name.
  942.  
  943.           -mFor those variables marked as msdos variables, the
  944.             values are exported to child processes with the
  945.             slashes replaced by backslashes.  Most MSDOS utili-
  946.             ties do not care if a file name contains a slash or
  947.             backslash as a directory separator.  However, some
  948.             like the _l_i_n_k_e_r require backslashes in the value of
  949.             the LIB variable.
  950.  
  951.           -nRead commands but do not execute them.
  952.  
  953.           -tExit after reading and executing one command.
  954.  
  955.           -uTreat unset variables as an error when substituting.
  956.  
  957.           -vPrint shell input lines as they are read.
  958.  
  959.           -xPrint commands and their arguments as they are exe-
  960.             cuted.
  961.  
  962.           --Do not change any of the flags; useful in setting $1
  963.             to -.
  964.  
  965.           Using + rather than - causes these flags to be turned
  966.           off.  These flags can also be used upon invocation of
  967.           the shell.  The current set of flags may be found in
  968.           $-.  The remaining arguments are positional parameters
  969.           and are assigned, in order, to $1, $2, ....  If no
  970.           arguments are given the values of all names are
  971.           printed.
  972.  
  973.      shift [ _n ]
  974.           The positional parameters from $n+1 ...  are renamed $1
  975.           ....  If _n is not given, it is assumed to be 1.
  976.  
  977.      swap [ _o_p_t_i_o_n_s ]
  978.           This command defines how the shell will handle swap-
  979.           ping.  The options are
  980.  
  981.           off
  982.             Disable swapping.  The shell remains in memory whilst
  983.             the child is running and reduces the available memory
  984.  
  985.  
  986.  
  987.                                                                15
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. SH(1L)
  995.  
  996.  
  997.  
  998.             by about 200K (depending on the size of the environ-
  999.             ment and history).
  1000.  
  1001.           onEnable all devices.  The shell will swap out to
  1002.             either expanded or extended memory or to disk, exe-
  1003.             cute the command and then swap back in.  Whilest
  1004.             swapped, the shell reduces the available memory by
  1005.             about 3K.
  1006.  
  1007.           expand
  1008.             Enable swapping to Expanded Memory.  The EMS drive
  1009.             must exist on your system for this to work.
  1010.  
  1011.           extent [ _s_t_a_r_t _a_d_d_r_e_s_s ]
  1012.             Enable swapping to Extended Memory.  The optional
  1013.             start address defines the based address in the
  1014.             Extended Memory at which point the shell writes its
  1015.             swap area.  The default location is _0_x_1_0_0_0_0_0.
  1016.  
  1017.           disk
  1018.             Enable swapping to disk.  The shell creates a tem-
  1019.             porary file and saves itself in it.  On completion,
  1020.             the file is deleted.  This is the slowest method of
  1021.             swapping.
  1022.  
  1023.           With no options, the current swapping options are
  1024.           displayed.
  1025.  
  1026.      test _e_x_p_r or [ _e_x_p_r ]
  1027.           Evaluate conditional expressions.  Test evaluates the
  1028.           expression _e_x_p_r and, if its value is true, returns a
  1029.           zero (true) exit status; otherwise, a non-zero (false)
  1030.           exit status is returned; test also returns a non-zero
  1031.           exit status if there are no arguments.  The following
  1032.           primitives are used to construct expr:
  1033.  
  1034.           -r _f_i_l_e     true if _f_i_l_e exists and is readable.
  1035.  
  1036.           -w _f_i_l_e     true if _f_i_l_e exists and is writable.
  1037.  
  1038.           -x _f_i_l_e     true if _f_i_l_e exists and is executable.
  1039.  
  1040.           -f _f_i_l_e     true if _f_i_l_e exists and is a regular file.
  1041.  
  1042.           -d _f_i_l_e     true if _f_i_l_e exists and is a directory.
  1043.  
  1044.           -c _f_i_l_e     true if _f_i_l_e exists and is a character spe-
  1045.                       cial file.
  1046.  
  1047.           -b _f_i_l_e     true if _f_i_l_e exists and is a block special
  1048.                       file.
  1049.  
  1050.  
  1051.  
  1052.  
  1053. 16
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.                                                            SH(1L)
  1061.  
  1062.  
  1063.  
  1064.           -s _f_i_l_e     true if _f_i_l_e exists and has a size greater
  1065.                       than zero.
  1066.  
  1067.           -t [ _f_i_l_d_e_s ]
  1068.                       true if the open file whose file descriptor
  1069.                       number is _f_i_l_d_e_s (1 by default) is associ-
  1070.                       ated with a terminal device.
  1071.  
  1072.           -n _s_1       true if the length of the string _s_1 is
  1073.                       zero.
  1074.  
  1075.           -n _s_1       true if the length of the string _s_1 is
  1076.                       non-zero.
  1077.  
  1078.           _s_1 = _s_2     true if strings _s_1 and _s_2 are identical.
  1079.  
  1080.           _s_1 != _s_2    true if strings _s_1 and _s_2 are _n_o_t identi-
  1081.                       cal.
  1082.  
  1083.           _s_1          true if _s_1 is _n_o_t the null string.
  1084.  
  1085.           _n_1 -eq _n_2   true if the integers _n_1 and _n_2 are algebra-
  1086.                       ically equal.  Any of the comparisons -ne,
  1087.                       -gt, -ge, -lt, and -le may be used in place
  1088.                       of R-eq.
  1089.  
  1090.           These primaries may be combined with the following
  1091.           operators:
  1092.  
  1093.           !           unary negation operator.
  1094.  
  1095.           -a          binary _a_n_d operator.
  1096.  
  1097.           -o          binary _o_r operator (-a has higher pre-
  1098.                       cedence than -o).
  1099.  
  1100.           ( expr )    parentheses for grouping.
  1101.  
  1102.           Notice that all the operators and flags are separate
  1103.           arguments to test.  Notice also that parentheses are
  1104.           meaningful to the shell and, therefore, must be
  1105.           escaped.
  1106.  
  1107.      trap [ _a_r_g ] [ _n ] ...
  1108.           The command _a_r_g is to be read and executed when the
  1109.           shell receives signal(s) _n.  (Note that _a_r_g is scanned
  1110.           once when the trap is set and once when the trap is
  1111.           taken.) Trap commands are executed in order of signal
  1112.           number.  Any attempt to set a trap on a signal that was
  1113.           ignored on entry to the current shell is ineffective.
  1114.           An attempt to trap on signal 11 (memory fault) produces
  1115.           an error.  If _a_r_g is absent all trap(s) _n are reset to
  1116.  
  1117.  
  1118.  
  1119.                                                                17
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. SH(1L)
  1127.  
  1128.  
  1129.  
  1130.           their original values.  If _a_r_g is the null string this
  1131.           signal is ignored by the shell and by the commands it
  1132.           invokes.  If _n is 0 the command _a_r_g is executed on exit
  1133.           from the shell.  The trap command with no arguments
  1134.           prints a list of commands associated with each signal
  1135.           number.
  1136.  
  1137.      type [ _n_a_m_e ... ]
  1138.           For each _n_a_m_e, indicate how it would be interpreted if
  1139.           used as a command name.
  1140.  
  1141.      umask [ _n_n_n ]
  1142.           The user file-creation mask is set to _n_n_n (see
  1143.           _u_m_a_s_k(2)).  If _n_n_n is omitted, the current value of the
  1144.           mask is printed.
  1145.  
  1146.      unset [ _n_a_m_e ... ]
  1147.           For each _n_a_m_e, remove the corresponding variable or
  1148.           function.  The variables PATH, PS1, PS2, and IFS cannot
  1149.           be unset.
  1150.  
  1151.      ver  Display the current version of the shell.
  1152.  
  1153.      Invocation
  1154.      If the shell is invoked through _e_x_e_c(2) and the first char-
  1155.      acter of argument zero is - or the -0(zero) switch is in the
  1156.      invokation line, commands are initially read from
  1157.      /etc/profile.sh and from $HOME/profile.sh, if such files
  1158.      exist.  Thereafter, commands are read as described below,
  1159.      which is also the case when the shell is invoked as /bin/sh.
  1160.      The flags below are interpreted by the shell on invocation
  1161.      only; Note that unless the -c or -s flag is specified, the
  1162.      first argument is assumed to be the name of a file contain-
  1163.      ing commands, and the remaining arguments are passed as
  1164.      positional parameters to that command file:
  1165.  
  1166.      -c string If the -c flag is present commands are read from
  1167.                _s_t_r_i_n_g.
  1168.      -s        If the -s flag is present or if no arguments
  1169.                remain commands are read from the standard input.
  1170.                Any remaining arguments specify the positional
  1171.                parameters.  Shell output (except for _S_p_e_c_i_a_l _C_o_m_-
  1172.                _m_a_n_d_s) is written to file descriptor 2.
  1173.      -i        If the -i flag is present or if the shell input
  1174.                and output are attached to a terminal, this shell
  1175.                is _i_n_t_e_r_a_c_t_i_v_e.  In this case, the TERMINATE sig-
  1176.                nal is ignored and the INTERRUPT signal is caught
  1177.                and ignored.  In all cases, the QUIT signal is
  1178.                ignored by the shell.
  1179.      -r        If the -r flag is present, the shell is a res-
  1180.                tricted shell.
  1181.      -0(zero)  If the -0(zero) flag is present, this has the same
  1182.  
  1183.  
  1184.  
  1185. 18
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.                                                            SH(1L)
  1193.  
  1194.  
  1195.  
  1196.                effect as starting the shell with the first char-
  1197.                acter of argument zero as a - (see above).
  1198.  
  1199.      The remaining flags and arguments are described under the
  1200.      set command above.
  1201.  
  1202.      Rsh Only
  1203.      _R_s_h is used to set up login names and execution environments
  1204.      whose capabilities are more controlled than those of the
  1205.      standard shell.  The actions of _r_s_h are identical to those
  1206.      of _s_h, except that the following are disallowed:
  1207.           changing directory (see _c_d(1)),
  1208.           setting the value of $PATH
  1209.           specifying path or command names containing /,
  1210.           redirecting output (> and >>).
  1211.  
  1212.      The restrictions above are enforced after profile.sh is
  1213.      interpreted.
  1214.  
  1215.      When a command to be executed is found to be a shell pro-
  1216.      cedure, _r_s_h invokes _s_h to execute it.  Thus, it is possible
  1217.      to provide to the end-user shell procedures that have access
  1218.      to the full power of the standard shell, while imposing a
  1219.      limited menu of commands; this scheme assumes that the end-
  1220.      user does not have write and execute permissions in the same
  1221.      directory.
  1222.  
  1223.      The net effect of these rules is that the writer of the
  1224.      profile.sh has complete control over user actions, by per-
  1225.      forming guaranteed setup actions and leaving the user in an
  1226.      appropriate directory (probably _n_o_t the login directory).
  1227.  
  1228.      The system administrator often sets up a directory of com-
  1229.      mands (i.e., /usr/rbin) that can be safely invoked by _r_s_h.
  1230.      Some systems also provide a restricted editor _r_e_d.
  1231.  
  1232. EXIT STATUS
  1233.      Errors detected by the shell, such as syntax errors, cause
  1234.      the shell to return a non-zero exit status.  If the shell is
  1235.      being used non-interactively execution of the shell file is
  1236.      abandoned.  Otherwise, the shell returns the exit status of
  1237.      the last command executed (see also the exit command above).
  1238.  
  1239. FILES
  1240.      /etc/profile.sh
  1241.      $HOME/profile.sh
  1242.      $TMP/sh*
  1243.  
  1244. LIMIITATIONS
  1245.      Any TSR (Terminate Stay Resident) programs must be loaded
  1246.      before loading _S_h as the shell will overwrite the TSR when
  1247.      it reloads itself after swapping out.
  1248.  
  1249.  
  1250.  
  1251.                                                                19
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. SH(1L)
  1259.  
  1260.  
  1261.  
  1262. SEE ALSO
  1263.      cd(1), env(1), test(1), umask(1).
  1264.      dup(2), exec(2), pipe(2), signal(2), umask(2), wait(2), pro-
  1265.      file(4), environ(5) in the _U_N_I_X _S_y_s_t_e_m _P_r_o_g_r_a_m_m_e_r _R_e_f_e_r_e_n_c_e
  1266.      _M_a_n_u_a_l.
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317. 20
  1318.  
  1319.  
  1320.  
  1321.